package cn.tedu.game;

import javax.swing.*;
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;

public class MyPanel extends JPanel {
    Star star;
    Star[] stars = new Star[10000];
    public MyPanel(){
        //将创建的面板的背景色设置为黑色
        this.setBackground(Color.BLACK);
        star = new Star();//对这个属性进行初始化，就会执行到Star的构造方法
        //写一个循环，执行1W次，每一个创建一个Star对象，放入数组的相应位置.
        for(int i=0;i<stars.length;i++){
            stars[i] = new Star();
        }
    }
    //重写，覆盖
    public void paint(Graphics g) {
        //调用一下父类中的panit方法
        super.paint(g);
        g.drawString("helloworld",100,100);
        g.setColor(Color.YELLOW);
        g.fillOval(200,100,100,100);
        g.setColor(Color.BLACK);
        g.fillOval(190,90,85,85);

        g.setColor(star.color);
        g.drawString("*",star.x,star.y);

        for (int i=0;i<stars.length;i++){
            Star star = stars[i];
            g.setColor(star.color);
            g.drawString("*",star.x,star.y);
        }
    }
    public void action(){
        Timer timer = new Timer();
        /**
         * 参数1：
         * 参数2：整数，表示毫秒，经过多长时间，开始执行参数1的指定逻辑
         * 参数3：整数，表示毫秒，执行了参数1指定的逻辑之后，以后每间隔多长时间再次反复执行该逻辑
         * **/
        timer.schedule(new TimerTask() {
            public void run(){
                for(int i=0;i<stars.length;i++){
                    stars[i].move();
                }
                repaint();
            }
        },0,20);
    }
}
